import React, { Component } from 'react'

export default class componentName extends Component {
  state = {
    count: 8,
  }
  handleClick = () => {
    // 目标：希望进行累计，同时有保证是异步的操作
    /* this.setState({
      count: this.state.count + 1,
    })
    this.setState({
      count: this.state.count + 2,
    })
    this.setState({
      count: this.state.count + 3,
    }) */
    this.setState({
      count: this.state.count + 1,
    })
    // 第一个参数也可以是函数，函数的返回值表示需要 setState 的那个状态
    // 函数里面的参数 prevState，表示上一次更新完毕后的 state
    this.setState((prevState) => ({
      count: prevState.count + 2,
    }))
    this.setState((prevState) => ({
      count: prevState.count + 3,
    }))
    // !同样是异步的
    console.log(this.state.count) // 8
  }
  render() {
    return (
      <div>
        <p>{this.state.count}</p>
        <button onClick={this.handleClick}>+1</button>
      </div>
    )
  }
}
